package javango.contrib.admin.api;

import java.util.Iterator;

import javango.contrib.admin.ModelManager;

import org.hibernate.mapping.PersistentClass;

import com.google.inject.ImplementedBy;

@ImplementedBy(DefaultAdminOptions.class)
public interface AdminOptions {

	/**
	 * Return an iterator of all available class mappings
	 * @return
	 */
	
	public Iterator<PersistentClass> getClassMappings();
	
	/**
	 * Return the class mapping for the specified class
	 * @return
	 */
	public PersistentClass getClassMapping(String entityName);
	
	/**
	 * Return the manager for the specified persistent class
	 */
	public ModelManager<?> getManager(Class entityClass);
}
